-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Larkin: Layout independent bindings #56
base: main
Are you sure you want to change the base?
Conversation
608db6f
to
569e096
Compare
Note for WIP Debugging using version 1.92 of VSCode, as that is the last version that supports debugging a web extension right now (reported bug is merged, but needs to make into a release—it's not even in the insiders release yet it seems).
|
bcd9f34
to
f4840d2
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #56 +/- ##
==========================================
+ Coverage 79.44% 79.83% +0.39%
==========================================
Files 24 25 +1
Lines 2340 2371 +31
Branches 468 473 +5
==========================================
+ Hits 1859 1893 +34
+ Misses 292 289 -3
Partials 189 189 ☔ View full report in Codecov by Sentry. |
57183e1
to
4850dc3
Compare
@sanarise: This branch is now in working order, and includes support for all of the bullets listed above. Would you be willing to take this version out for a "test drive"??
Happy to help walk you through the steps to get this to compile and install for you. |
4850dc3
to
46bfcf0
Compare
First step should be to follow the directions at the end of the README. Once those steps are complete you can run mise use vsce
vsce package And you should have a VSIX package you can install. Alternatively, you could also run the "Debug: Start Debugging" command within the open VSCode project. |
I'm not sure that the idea I'm going to propose now is clear in itself and has no pitfalls. But now there is still one oddity in the behavior. Maybe you should think about hiding this problem from the user altogether? That is, at the toml preset level, everything remains as it is (without LI-bindings), and inside the MasterKey, always translate to LI-bindings. Can there be any arguments against this? That is, we may not be able to map to LI-bindings under some conditions, but it's still hard for me to imagine when it's needed... |
Ah, I forgot. It is
I'm not convinced. It is a little unintuitive that you might have a binding for one letter or symbol, but you hit the key for some other symbol on your keyboard to use that binding: it might be something developers with international layouts want but a user new to all of this could find it very confusing (and maybe think it's a bug).
What do you mean only
I'm a little lost about what you mean here. The intent is that What is the behavior you were expecting? Maybe you could spell out the following for a few key examples:
|
I built the module in vsix and tested my preset – it seems to be working well. I didn't find any bugs. The key lights in Visual Documentation have also started working. Now for the essence of what I wrote about. There's only one thing that bothers me about this whole story at the moment. And this one looks just like some kind of bug, although it doesn't bother much. Below I will give a piece of my preset. You may notice that right now I'm using w instead of [KeyW], shift+w instead of shift+[KeyW] – and it works. And it worked from the beginning. Therefore, the problem was not immediately noticed. I do not know why this is so.... This feature is present initially. There was no problem with letter keys initially, but I noticed a problem with non-letter keys.
|
If this moment doesn't bother you, then fine – maybe let it stay that way. But it looks as if the letter keys are originally mapped to LI-mnemonics somewhere)) Otherwise, why don't they reproduce this problem initially? Of course, I don't know if they are actually maps or not. And the exact reason for this behavior is unknown to me. |
That's why I suggested thinking about what could map everything to LI mnemonics by default, so that it would be somehow coherent and unambiguous. But here, of course, it would be good to first understand the true reason for the behavior of the letter keys. Again, it's up to you to decide how important it is to deal with this right now. Perhaps this is a rather minor priority, because this misunderstanding does not particularly interfere with work. |
Oh! Okay, I think I understand. You're saying that the alphanumeric keys specified normally (without I wonder if a possible solution here is that there could be a flag, either specified in the keymap or as a preference for this extension, which maps all bindings to their layout independent format. Users can toggle this on or off as they choose. |
Yes, absolutely right. I've written about this before too. But apparently due to the difficulties of translation, this point escaped our attention )
Yes, this has been the case since the very beginning, when I started using the Master Key. I've now checked on version 0.3.7 – that's exactly how it works. And at that moment, I was pleased with this behavior, because I no longer needed an additional fix external to vscode, which I used with aka.ms/vscodevim I noticed the problem with non-letter keys later.
Yes, I've been thinking about that too. Perhaps it would be really good to give such a choice to the user. |
Closes #54, addressing the following points:
Remaining TODOs:
Larkin.toml
Larking.toml
(U.S. Layout)
suffix